const sharp = require('sharp');
const fs = require('fs-extra');
const path = require('path');

const INPUT_DIR = path.join(__dirname, 'input');
const OUTPUT_DIR = path.join(__dirname, 'output');

async function processImages() {
	try {
		await fs.ensureDir(OUTPUT_DIR);

		const files = fs.readdirSync(INPUT_DIR).filter(file =>
			/\.(png|jpe?g|webp)$/i.test(file)
		);

		// 批量处理图片
		for (const file of files) {
			const inputPath = path.join(INPUT_DIR, file);
			const outputPath = path.join(OUTPUT_DIR, file);

			await sharp(inputPath)
				.trim({
					threshold: 50, // 调整阈值以适应不同图片
					background: { r: 255, g: 255, b: 255, alpha: 0 } // 白色背景，透明度为 0
				})
				.ensureAlpha() // 确保保留透明度通道
				.toFile(outputPath);

			console.log(`已处理: ${file}`);
		}

		console.log('全部处理完成！');
	} catch (err) {
		console.error('处理出错:', err);
	}
}

processImages();
